// StatusConstans.cs
//
//  Copyright (C) 2009 Jacek Trubłajewicz
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
//

using System;
using Mono.Unix;
using HAKGERSoft;

namespace wxGadu
{
	public class StatusConstans
	{
		public const int online = 0;
		public const int onlineDescr = 1;
		public const int away = 2;
		public const int awayDescr = 3;
		public const int invisible = 4;
		public const int invisibleDescr = 5;
		public const int offline = 6;
		public const int offlineDescr = 7;
		public const int blocked = 8;
		
		private StatusConstans()
		{
		}
		
		public static int FromGGStatus(GGStatusType status)
		{
			switch (status)
			{
			 	case GGStatusType.Available:
					return online;
				case GGStatusType.Busy:
					return away;
				case GGStatusType.Invisible:
					return invisible;
				case GGStatusType.NotAvailable:
					return offline;
			}
			
			throw new ArgumentOutOfRangeException("status");
			
			return offline;
		}
		
		public static string StatusToString(int status)
		{
			switch (status)
			{
			 	case online:
					return Catalog.GetString("Online");
				case away:
					return Catalog.GetString("Away");
				case invisible:
					return Catalog.GetString("Invisible");
				case offline:
					return Catalog.GetString("Offline");
				default:
					return string.Empty;
			}
		}
		
	}
}
